--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / Sideband.git / files / sbapp / kivymd / uix / behaviors / magic_behavior.py
Displaying Raw • Download
sbapp/kivymd/uix/behaviors/magic_behavior.py 0.2.2 (399da923) Text, 4.57 KB
T8b949e"""
Behaviors/Magic
===============
.. rubric:: Magical effects for buttons.
.. warning:: Magic effects do not work correctly with `KivyMD` buttons!
To apply magic effects, you must create a new class that is inherited from the
widget to which you apply the effect and from the :attr:`MagicBehavior` class.
In `KV file`:
.. code-block:: kv
<MagicButton@MagicBehavior+MDRectangleFlatButton>
In `python file`:
.. code-block:: python
class MagicButton(MagicBehavior, MDRectangleFlatButton):
pass
.. rubric:: The :attr:`MagicBehavior` class provides five effects:
:attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\` :attr:\`MagicBehavior.wobble\`
:attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\` :attr:\`MagicBehavior.grow\`
:attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\` :attr:\`MagicBehavior.shake\`
:attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\` :attr:\`MagicBehavior.twist\`
:attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\` :attr:\`MagicBehavior.shrink\`
Example:
.. code-block:: python
from kivy.lang import Builder
from kivymd.app import MDApp
KV = '''
<MagicButton@MagicBehavior+MDRectangleFlatButton>
MDFloatLayout:
MagicButton:
text: "WOBBLE EFFECT"
on_release: self.wobble()
pos_hint: {"center_x": .5, "center_y": .3}
MagicButton:
text: "GROW EFFECT"
on_release: self.grow()
pos_hint: {"center_x": .5, "center_y": .4}
MagicButton:
text: "SHAKE EFFECT"
on_release: self.shake()
pos_hint: {"center_x": .5, "center_y": .5}
MagicButton:
text: "TWIST EFFECT"
on_release: self.twist()
pos_hint: {"center_x": .5, "center_y": .6}
MagicButton:
text: "SHRINK EFFECT"
on_release: self.shrink()
pos_hint: {"center_x": .5, "center_y": .7}
'''
class Example(MDApp):
def build(self):
return Builder.load_string(KV)
Example().run()
.. image:: https://github.com/HeaTTheatR/KivyMD-data/raw/master/gallery/kivymddoc/magic-button.gif
:width: 250 px
:align: center
"""
Te6edf3__all__ Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ffMagicBehaviorTa5d6ff"Tb4b4b4,Tb4b4b4)
Tff7b72from T7ee787kivyT7ee787.T7ee787animation Tff7b72import Te6edf3Animation
Tff7b72from T7ee787kivyT7ee787.T7ee787lang Tff7b72import Te6edf3Builder
Tff7b72from T7ee787kivyT7ee787.T7ee787properties Tff7b72import Te6edf3NumericProperty
Te6edf3BuilderTff7b72.Td2a8ffload_stringTb4b4b4(
T8b949e"""
MagicBehavior>
translate_x: 0
translate_y: 0
scale_x: 1
scale_y: 1
rotate: 0
canvas.before:
PushMatrix
Translate:
x: self.translate_x or 0
y: self.translate_y or 0
Rotate:
origin: self.center
angle: self.rotate or 0
Scale:
origin: self.center
x: self.scale_x or 1
y: self.scale_y or 1
canvas.after:
PopMatrix
"""
Tb4b4b4)
Tff7b72class T56d364MagicBehaviorTb4b4b4:
Te6edf3magic_speed Tff7b72= Te6edf3NumericPropertyTb4b4b4(T79c0ff1Tb4b4b4)
T8b949e"""
Animation playback speed.
:attr:`magic_speed` is a :class:`~kivy.properties.NumericProperty`
and defaults to `1`.
"""
Tff7b72def Td2a8ffgrowTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Grow effect animation."""
Tb4b4b4(
Te6edf3AnimationTb4b4b4(
Te6edf3scale_xTff7b72=T79c0ff1.2Tb4b4b4,
Te6edf3scale_yTff7b72=T79c0ff1.2Tb4b4b4,
Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4,
Te6edf3dTff7b72=T79c0ff0.03 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4,
Tb4b4b4)
Tff7b72+ Te6edf3AnimationTb4b4b4(
Te6edf3scale_xTff7b72=T79c0ff1Tb4b4b4, Te6edf3scale_yTff7b72=T79c0ff1Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_elasticTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.4 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speed
Tb4b4b4)
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72def Td2a8ffshakeTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Shake effect animation."""
Tb4b4b4(
Te6edf3AnimationTb4b4b4(Te6edf3translate_xTff7b72=T79c0ff50Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.02 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4)
Tff7b72+ Te6edf3AnimationTb4b4b4(
Te6edf3translate_xTff7b72=T79c0ff0Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_elasticTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.5 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speed
Tb4b4b4)
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72def Td2a8ffwobbleTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Wobble effect animation."""
Tb4b4b4(
Tb4b4b4(
Te6edf3AnimationTb4b4b4(Te6edf3scale_yTff7b72=T79c0ff0.7Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.03 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4)
Tff7b72& Te6edf3AnimationTb4b4b4(
Te6edf3scale_xTff7b72=T79c0ff1.4Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.03 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speed
Tb4b4b4)
Tb4b4b4)
Tff7b72+ Tb4b4b4(
Te6edf3AnimationTb4b4b4(Te6edf3scale_yTff7b72=T79c0ff1Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_elasticTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.5 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4)
Tff7b72& Te6edf3AnimationTb4b4b4(
Te6edf3scale_xTff7b72=T79c0ff1Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_elasticTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.4 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speed
Tb4b4b4)
Tb4b4b4)
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72def Td2a8fftwistTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Twist effect animation."""
Tb4b4b4(
Te6edf3AnimationTb4b4b4(Te6edf3rotateTff7b72=T79c0ff25Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.05 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4)
Tff7b72+ Te6edf3AnimationTb4b4b4(Te6edf3rotateTff7b72=T79c0ff0Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_elasticTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.5 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speedTb4b4b4)
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72def Td2a8ffshrinkTb4b4b4(Tff7b72selfTb4b4b4) Tff7b72-Tff7b72> Tff7b72NoneTb4b4b4:
T8b949e"""Shrink effect animation."""
Te6edf3AnimationTb4b4b4(
Te6edf3scale_xTff7b72=T79c0ff0.95Tb4b4b4, Te6edf3scale_yTff7b72=T79c0ff0.95Tb4b4b4, Te6edf3tTff7b72=Ta5d6ff"Ta5d6ffout_quadTa5d6ff"Tb4b4b4, Te6edf3dTff7b72=T79c0ff0.1 Tff7b72/ Tff7b72selfTff7b72.Td2a8ffmagic_speed
Tb4b4b4)Tff7b72.Td2a8ffstartTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72def Td2a8ffon_touch_upTb4b4b4(Tff7b72selfTb4b4b4, Tff7b72*Te6edf3argsTb4b4b4)Tb4b4b4:
Te6edf3AnimationTff7b72.Td2a8ffstop_allTb4b4b4(Tff7b72selfTb4b4b4)
Tff7b72return Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffon_touch_upTb4b4b4(Tff7b72*Te6edf3argsTb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────